home *** CD-ROM | disk | FTP | other *** search
- #define N (256)
- #define SQRTN (16)
- #define EXN (8)
-
- #define FIX(x) ( (x)<<16 )
- #define INT(x) ( (x)>>16 )
- #define MUL(x, y) ( ((x)>>8) * ((y)>>8) )
- #define DIV(x, y) ( ( (x) / (((y)>>8)+1) ) << 8 )
-
- #ifndef DWORD
- #define DWORD(x) *((unsigned int *)(x))
- #define WORD(x) *((unsigned short *)(x))
- #define BYTE(x) *((unsigned char *)(x))
- #endif
-
- typedef struct {
- FILE *fp;
- int buf, mask, bcnt;
- } BIT_FILE;
- typedef struct {
- unsigned int cu;
- int c0, c1;
- } NODE;
- typedef struct {
- unsigned int code;
- int bits;
- } CODE;
- typedef struct {
- short code;
- short parent;
- char ch;
- } DIC;
- typedef signed char schar;
-
-
- /* comp.c */
- extern int compress( char *inputfile, char *outputfile, char *n );
- extern int expand( char *inputfile, char *outputfile );
-
- /* fft.c */
- extern void sin_cos( void );
- extern void bitrev( void );
- extern void time_window( short *buf );
- extern void fft( short *rl, short *im, int inv );
-
- /* bitio.c */
- extern BIT_FILE *BIT_open( char *pname, char *type );
- extern int BIT_close( BIT_FILE *bfp );
- extern int BIT_read_bit( unsigned int *dest, BIT_FILE *bfp );
- extern int BIT_write_bit( unsigned int src, BIT_FILE *bfp );
- extern int BIT_read_bits( unsigned int *dest, size_t nelen, BIT_FILE *bfp );
- extern int BIT_write_bits( unsigned int src, size_t nelen, BIT_FILE *bfp );
- extern int BIT_read_bytes( void *dest, size_t s, size_t n, BIT_FILE *bfp );
- extern int BIT_write_bytes( void *src, size_t s, size_t n, BIT_FILE *bfp );
-
- /* huffman.c */
- extern int huff_comp( char *src, int n, BIT_FILE *bfp );
- extern int huff_exp( char *dest, BIT_FILE *bfp );
-
- /* lzw.c */
- extern int lzw_comp( char *src, int n, BIT_FILE *bfp );
- extern int lzw_exp( char *dest, BIT_FILE *bfp );
-